#ifndef __HEAD_H__
#define __HEAD_H__

/*-------------相关库头文件----------*/
// 标准IO相关
#include <stdio.h>
#include <string.h>
#include <strings.h>
#include <stdlib.h>
#include <stdbool.h>

// 系统相关
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <dirent.h>

// 时间
#include <time.h>
#include <signal.h>
#include <pthread.h>
#include <errno.h>
#include <semaphore.h>

// 网络
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
/*-----------------------------------*/

/*------用户数据------*/
struct userinfo
{
    int connfd;
    unsigned int id; //作为唯一标识
    char username[32];
    char password[32];
    struct sockaddr_in addr;
};

//用户链表节点
typedef struct User_node
{
    struct userinfo user;
    struct User_node *next;
    struct User_node *prev;
}user_node;

//关系数据
typedef struct{
    unsigned int cur_id;//哪个账户的好友数据
    unsigned int id; //好友账户
    char username[32];//用户名
}friend;

#endif